EventLog 的 POJO

在消息应用里面,数据一般以 POJO 形式呈现。这可能保存配置或处理信息除了实际的消息数据。在这个应用程序里,消息的单元是一个“事件”。由于数据来自一个日志文件,我们将称之为 LogEvent。

清单13.1显示了这个简单的POJO的细节。

Listing 13.1 LogEvent message

  1. public final class LogEvent {
  2. public static final byte SEPARATOR = (byte) ':';
  3. private final InetSocketAddress source;
  4. private final String logfile;
  5. private final String msg;
  6. private final long received;
  7. public LogEvent(String logfile, String msg) { //1
  8. this(null, -1, logfile, msg);
  9. }
  10. public LogEvent(InetSocketAddress source, long received, String logfile, String msg) { //2
  11. this.source = source;
  12. this.logfile = logfile;
  13. this.msg = msg;
  14. this.received = received;
  15. }
  16. public InetSocketAddress getSource() { //3
  17. return source;
  18. }
  19. public String getLogfile() { //4
  20. return logfile;
  21. }
  22. public String getMsg() { //5
  23. return msg;
  24. }
  25. public long getReceivedTimestamp() { //6
  26. return received;
  27. }
  28. }
  1. 构造器用于出站消息
  2. 构造器用于入站消息
  3. 返回发送 LogEvent 的 InetSocketAddress 的资源
  4. 返回用于发送 LogEvent 的日志文件的名称
  5. 返回消息的内容
  6. 返回 LogEvent 接收到的时间